cmake_minimum_required(VERSION 3.22)

project(piccolo_core)

add_library(piccolo_core
        Private/PiccoloEntryPoint.cpp
        Private/PiccoloApplication.cpp
        Private/PiccoloApplicationContext.cpp
        Private/Render/PiccoloRenderContext.cpp
        Private/Render/PiccoloRenderTarget.cpp
        Private/Render/PiccoloMesh.cpp
        Private/Render/PiccoloTexture.cpp
        Private/Render/PiccoloRenderer.cpp
        Private/ECS/PUUID.cpp
        Private/ECS/PNode.cpp
        Private/ECS/PScene.cpp
        Private/ECS/Component/PComponent.cpp
        Private/ECS/PEntity.cpp
        Private/ECS/Component/PBaseMaterialComponent.cpp
        Private/ECS/System/PSystem.cpp
        Private/ECS/System/PBaseMaterialSystem.cpp
        Private/ECS/Component/PTransformComponent.cpp
        Private/ECS/Component/PLookAtCameraComponent.cpp
        Private/Render/PiccoloSampler.cpp
        Private/Render/PMaterial.cpp
        Private/ECS/System/PUnlitMaterialSystem.cpp
        Private/ECS/System/PMaterialSystem.cpp
)
target_include_directories(piccolo_core PUBLIC External)

target_link_libraries(piccolo_core PUBLIC piccolo_platform)